Program Reuse and Abstraction by Anti{uniication
نویسندگان
چکیده
In this paper we present an approach to case{based programming based on anti{uniication. We focus on acquiring a hierarchy of recursive program schemes from programming experience. For a new programming problem a concrete program or a scheme can be reused, that is, we can deal with analogy and abstraction in a uniform way. We investigate a minimal extension of rst order anti{uniication, allowing to anti{unify function symbols with the same number of arguments. Retrieval is performed by identifying that program scheme which has the maximal structural congruence with the current problem. Technically, this is the program scheme which is the least element of the subsumption relation calculated for anti{instances of the new problem and programs from memory. Simultaneously, this anti{instance represents a (minimal) generalization. Program memory is hierarchically extended by introducing this anti{instance as parent of the new and the reused program.
منابع مشابه
Higher order generalization and its application
Generalization is a fundamental operation of inductive inference. While rst order syntactic generalization (anti-uniication) is well understood, its various extensions are often needed in applications. This paper discusses syntactic higher order generalization in a higher order language 221]. Based on the application ordering, we prove that least general generalization exists for any two terms ...
متن کاملUni cation and Anti-Uni cation in the Calculus of Constructions
We present algorithms for uniication and anti-uniication in the Calculus of Constructions, where occurrences of free variables (the variables subject to in-stantiation) are restricted to higher-order patterns, a notion investigated for the simply-typed-calculus by Miller. Most general uniiers and least common anti-instances are shown to exist and are unique up to a simple equivalence. The uniic...
متن کاملSearch Tree Uniication: Paradigm for Process-based Logic Programs
The concept of search tree uniication presented in this paper serves a basis for the declarative interpretation of process-based logic programs. Each logic process created explicitly from a sub-goal deenes an own sub-search tree. Processes of the same logic program are not independent but rely on the partial result of each other, i.e. they communicate with each other. Therefore, sub-search tree...
متن کاملSearch Tree Unification: Paradigm for Process-based Logic Programs
Process-based logic programs do not fullll logical completeness as can be expected from a logic program. The concept of search tree uniication is introduced in the paper which is a high level abstraction that captures distributed logic programs in a declarative way. The aim of search tree uniication concept is to promote extracting logical completeness from process-based logic programs. In proc...
متن کاملDomain Construction for Mode Analysis of Typed Logic Programs
There are many applications where precise mode analysis is required. However, within the framework of abstract interpretation, the precision of an analyser depends, in part, on the expressiveness of the abstract domain and its associated abstraction function. This paper considers abstract domains for polymorphically typed logic programs where each non-variable symbol is explicitly typed. We sho...
متن کامل